﻿using System;
using System.Text;
using System.Collections.Generic;
using System.Data;
using System.ComponentModel.DataAnnotations;
using BCDto.OA.WorkflowActive.WorkflowActivityStepFormItem;
using BCDto.OA.WorkflowActive.WorkflowActivityStepSpecificFormItem;

namespace BCDto.OA.WorkflowActive.WorkflowActivityStepFormConfig
{
	/// <summary>
	/// 工作流活动步骤表单配置
	/// </summary>
	public class WorkflowActivityStepFormConfigRequestDto
	{
		/// <summary>
		/// 工作流活动Id
		/// </summary>		
		[Display(Name = "工作流活动Id")]
		[Required(ErrorMessage = "{0} 不应为空")]
		public long WorkflowActivityId { get; set; }
		/// <summary>
		/// 工作流活动步骤Id
		/// </summary>		
		[Display(Name = "工作流活动步骤Id")]
		public long? WorkflowActivityStepId { get; set; }
		/// <summary>
		/// 任务步骤
		/// </summary>		
		[Display(Name = "任务步骤")]
		[Required(ErrorMessage = "{0} 不应为空")]
		public int Step { get; set; }
		/// <summary>
		/// 表单配置标题
		/// </summary>		
		[Display(Name = "表单配置标题")]
		[Required(ErrorMessage = "{0} 不应为空")]
		[StringLength(100, MinimumLength = 2, ErrorMessage = "{0} 长度应大于{2} 且小于{1}")]
		public string FormConfigTitle { get; set; }
		/// <summary>
		/// 表单配置Code
		/// </summary>		
		[Display(Name = "表单配置Code")]
		[Required(ErrorMessage = "{0} 不应为空")]
		[StringLength(100, MinimumLength = 2, ErrorMessage = "{0} 长度应大于{2} 且小于{1}")]
		public string FormConfigCode { get; set; }
		/// <summary>
		/// 是否为特殊表单
		/// </summary>		
		[Display(Name = "是否为特殊表单")]
		[Required(ErrorMessage = "{0} 不应为空")]
		public bool IsSpecificForm { get; set; }
		/// <summary>
		/// 特殊表单名称
		/// </summary>		
		[Display(Name = "特殊表单名称")]
		[StringLength(100, MinimumLength = 2, ErrorMessage = "{0} 长度应大于{2} 且小于{1}")]
		public string SpecificFormName { get; set; }
		/// <summary>
		/// 表单项
		/// </summary>		
		[Display(Name = "表单项")]
		public List<WorkflowActivityStepFormItemRequestDto> FormItemActivity { get; set; }
		/// <summary>
		/// 特殊表单项
		/// </summary>		
		[Display(Name = "特殊表单项")]
		public List<WorkflowActivityStepSpecificFormItemRequestDto> SpecificFormItemActivity { get; set; }
		
	}
}

